#ifndef _SDLGMUD_H_    
	#define _SDLGMUD_H_ 

#include <SDL.h> 

#include "SDLSurface.h"

#include "GAnimation.h"
#include "GEvent.h"
#include "GEntity.h"
#include "GPlayer.h"
#include "GEntityCol.h"

#include "Define.h"
#include "GArea.h"
#include "GCamera.h"

class SDLGmud : public GEvent	//Link GEvent and SDLGmud together
{   
private:
	bool Running;

	//A SDL surface variable
	SDL_Surface* Surf_Display;

	//A surface for test
	//SDL_Surface* Surf_Test;

	//GAnimation Anim_Yoshi;

	//GEntity Entity_Ninja;

	GPlayer Player;

public:         
	SDLGmud();
	~SDLGmud();

	int OnExecute(); 

	void OnKeyDown(SDLKey sym, SDLMod mod, Uint16 unicode);
	void OnKeyUp(SDLKey sym, SDLMod mod, Uint16 unicode);

public:
	bool OnInit();        
	void OnEvent(SDL_Event* Event);   //We're passing the Event structure to our class with GEvent 
	void OnExit();	//If we want to check for an event, we override the function.
	void OnLoop();      
	void OnRender();    
	void OnCleanup();
}; 
#endif 
